<?php

namespace App\Http\Controllers\home;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class CollectController extends Controller
{
    /*对商品进行遍历类别*/
    static public function getCate($pid){
        //定义一个空数组
        $cate=array();
        //通过传过来的pid查询类别表
        $data=DB::table('cate')->where('pid','=',$pid)->get();
        //遍历查询到的数据
        foreach($data as $k=>$v){
            //通过自身的id去掉用自身的方法(通过pid查询) 判断下面是否还存在子分类 如果有就把他压入自身的一个下标中
            $v['fenlei']=self::getCate($v['cid']);
            //将每次得到的数据遍历到空数组中
            $cate[]=$v;
        } 
         return $cate;
    } 

    /*添加收藏*/
    public function postAdd(Request $request){
        // 判断是否有用户登录,如果没有则返回9,收藏ajax接受9后会跳转登录页
        if(empty(session('h_user'))){
            echo '9';
            return;
        }

        // 获得商品id,用户id,当前时间
        $date = $request -> only('gid');
        $date['h_uid'] = session('h_user')['h_uid'];
        $date['ltime'] = time();
        // 返回0为未加入收藏表,返回1为成功插入
        $res = 0;
        // 如果收藏表中没有用户和商品数据,则执行插入操作
        if( DB::table('collect') -> where('h_uid',$date['h_uid']) -> where('gid',$date['gid']) -> count() == 0){
            $res = DB::table('collect') -> insert($date);            
        }        
        echo $res;
    }

    /*删除收藏*/
    public function postDelete(Request $request){
        // 获得商品id,用户id,当前时间
        $date = $request -> only('gid');
        $date['h_uid'] = session('h_user')['h_uid'];
        // 返回0为未加入收藏表,返回1为成功插入
        $res = 0;
        // 如果收藏表中有用户和商品数据,则执行删除操作
        if( DB::table('collect') -> where('h_uid',$date['h_uid']) -> where('gid',$date['gid']) -> count() != 0){
            $res = DB::table('collect') -> where('h_uid',$date['h_uid']) -> where('gid',$date['gid']) -> delete();
        }        
        echo $res;
    }

    /*显示收藏列表*/
    public function getList(){
        $cate = self::getCate(0);
        // 判断是否登录,如果没有登录,则跳转登录页面
        if(empty(session('h_user'))){
            return redirect('/home/login/index');
        }

        // 获得登录的用户id
        $h_uid = session('h_user')['h_uid'];

        // 获得用户的所有的收藏商品信息
        $data = DB::table('collect') -> join('goods','collect.gid','=','goods.gid') -> where('h_uid',$h_uid) -> paginate(20);
        
        // 引用模板
        return view('/home/collect/list',['data'=>$data,'cate'=>$cate]);

    }
    
}
